<?php
namespace core;


/**
 * 处理全局变量
 */
class G
{
  static protected $Data=[];

  static function getData(){
    return static::$Data;
  }
  // 读取配置
  static function get($key,$defaultValue=array()){
    $keys=Func::str2arr($key,".");
    $len=count($keys);
    $lastIndex=$len-1;
    $d=&static::$Data;
    for ($i=0; $i < $len ; $i++) {
      $k=$keys[$i];
      if (isset($d[$k])){
        if ($i==$lastIndex){
          return $d[$k];
        }else{
          $d=&$d[$k];
        }
      }else{
        return $defaultValue;
      }

    }
    return $defaultValue;
  }
  // 设置配置
  static function set($key,$value=""){
    $keys=Func::str2arr($key,".");
    $len=count($keys);
    $lastIndex=$len-1;
    $d=&static::$Data;
    for ($i=0; $i < $len ; $i++) {
      $k=$keys[$i];
      if ($i==$lastIndex){
        $d[$k]=$value;
      }else{
        if (!isset($d[$k])){
          $d[$k]=array();
        }
        $d=&$d[$k];
      }
    }
  }

  // 清理所有配置
  static function clean(){
    static::$Data=[];
  }


}
